package com.edu.mapper;

import com.edu.bean.Emp;
import com.edu.bean.EmpVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author:czc
 * @Date:
 * @Description:
 */
public interface EmpMapper {
    // 查询所有员工
    List<Emp> findAllEmp();

    // 根据 id 查询指定的员工（返回 Map）
    Map<String, Object> findEmpById(int empId);

    // 查询指定年龄范围的员工
    List<Emp> findEmpByAgeRange(@Param("min") int minAge,@Param("max") int maxAge);

    // 查询指定性别的员工
    List<Emp> findEmpBySex(String empSex);

    // 查询指定性别的员工个数
    int findEmpCountBySex(String empSex);

    // 根据员工名字模糊查询员工信息
    List<Emp> findEmpByFuzzyName(String empName);

    // 根据员工 id 查询员工信息和其所在部门信息（嵌套结果）
    List<Emp> findEmpAndDepartById(int empId);

    // 查询所有员工和其所在部门信息（嵌套查询）
    List<Emp> findAllEmpAndDepart();

    // 查询指定性别的员工和其所在部门信息（扩展类）
    List<EmpVO> findEmpAndDepartBySex(String empSex);


}
